
// 一、请说出下列最终的执行结果，并解释为什么。
var a = [];
for (var i=0;i<10;i++){
    a[i] = function(){
        console.log(i)
    }
}
a[6]()

/************
 * 最终的执行结果是10
 * 因为数组a与循环变量i都是全局变量，当执行a[6]()时，for循环已经执行完毕，此时i=10
 * 如果想要在函数体累内保存每次循环值，可以把var替换成let块级循环作用域。也可以用即时调用函数表达
 ************/